using System;
using System.Collections.Generic;
using ns26;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("TooltipPanelManager")]
	public class TooltipPanelManager : MonoBehaviour
	{
		public enum Orientation
		{
			RightTop,
			RightBottom,
			LeftMiddle
		}

		public TooltipPanel m_tooltipPanelPrefab => method_3<TooltipPanel>("m_tooltipPanelPrefab");

		public List<TooltipPanel> m_tooltipPanels => method_3<Class271<TooltipPanel>>("m_tooltipPanels")?.method_25();

		public Actor m_actor => method_3<Actor>("m_actor");

		public Card m_card => method_3<Card>("m_card");

		public float scaleToUse => method_2<float>("scaleToUse");

		public static float FADE_IN_TIME => MonoClass.smethod_6<float>(TritonHs.MainAssemblyPath, "", "TooltipPanelManager", "FADE_IN_TIME");

		public static float DELAY_BEFORE_FADE_IN => MonoClass.smethod_6<float>(TritonHs.MainAssemblyPath, "", "TooltipPanelManager", "DELAY_BEFORE_FADE_IN");

		public TooltipPanelManager(IntPtr address, string className)
			: base(address, className)
		{
		}

		public TooltipPanelManager(IntPtr address)
			: this(address, "TooltipPanelManager")
		{
		}

		public static TooltipPanelManager Get()
		{
			return MonoClass.smethod_15<TooltipPanelManager>(TritonHs.MainAssemblyPath, "", "TooltipPanelManager", "Get", Array.Empty<object>());
		}

		public void Awake()
		{
			method_8("Awake");
		}

		public void OnDestroy()
		{
			method_8("OnDestroy");
		}

		public void UpdateKeywordPanelsPosition(Card card, bool showOnRight)
		{
			method_8("UpdateKeywordPanelsPosition", card, showOnRight);
		}

		public void UpdateKeywordHelpForHistoryCard(Entity entity, Actor actor, UberText createdByText)
		{
			method_8("UpdateKeywordHelpForHistoryCard", entity, actor, createdByText);
		}

		public void UpdateKeywordHelpForCollectionManager(EntityDef entityDef, Actor actor, Orientation orientation)
		{
			method_8("UpdateKeywordHelpForCollectionManager", entityDef, actor, orientation);
		}

		public void UpdateGhostCardHelpForCollectionManager(Actor actor, GhostCard.Type ghostType, Orientation orientation)
		{
			method_8("UpdateGhostCardHelpForCollectionManager", actor, ghostType, orientation);
		}

		public void UpdateKeywordHelpForDeckHelper(EntityDef entityDef, Actor actor)
		{
			method_8("UpdateKeywordHelpForDeckHelper", entityDef, actor);
		}

		public void UpdateKeywordHelpForForge(EntityDef entityDef, Actor actor, int cardChoice)
		{
			method_8("UpdateKeywordHelpForForge", entityDef, actor, cardChoice);
		}

		public void UpdateKeywordHelpForPackOpening(EntityDef entityDef, Actor actor)
		{
			method_8("UpdateKeywordHelpForPackOpening", entityDef, actor);
		}

		public void UpdateKeywordHelpForMulliganCard(Entity entity, Actor actor)
		{
			method_8("UpdateKeywordHelpForMulliganCard", entity, actor);
		}

		public void PrepareToUpdateKeywordHelp(Actor actor)
		{
			method_8("PrepareToUpdateKeywordHelp", actor);
		}

		public void PrepareToUpdateGhostCardHelp(Actor actor)
		{
			method_8("PrepareToUpdateGhostCardHelp", actor);
		}

		public void SetUpPanels(EntityBase entityInfo)
		{
			method_8("SetUpPanels", entityInfo);
		}

		public bool SetupKeywordPanelIfNecessary(EntityBase entityInfo, GAME_TAG tag)
		{
			return method_11<bool>("SetupKeywordPanelIfNecessary", new object[2] { entityInfo, tag });
		}

		public Vector3 GetPanelPosition(TooltipPanel panel)
		{
			return method_11<Vector3>("GetPanelPosition", new object[1] { panel });
		}

		public void SetupCollectionKeywordPanel(GAME_TAG tag)
		{
			method_8("SetupCollectionKeywordPanel", tag);
		}

		public void SetupKeywordPanel(GAME_TAG tag)
		{
			method_8("SetupKeywordPanel", tag);
		}

		public void SetupKeywordRefPanel(GAME_TAG tag)
		{
			method_8("SetupKeywordRefPanel", tag);
		}

		public string GetTextForTag(GAME_TAG tag, string key)
		{
			return method_13("GetTextForTag", tag, key);
		}

		public void SetupTooltipPanel(string headline, string description)
		{
			method_8("SetupTooltipPanel", headline, description);
		}

		public void FadeInPanel(TooltipPanel helpPanel)
		{
			method_8("FadeInPanel", helpPanel);
		}

		public void OnUberTextFadeUpdate(float newValue)
		{
			method_8("OnUberTextFadeUpdate", newValue);
		}

		public void CleanTweensOnPanel(TooltipPanel helpPanel)
		{
			method_8("CleanTweensOnPanel", helpPanel);
		}

		public void ShowKeywordHelp()
		{
			method_8("ShowKeywordHelp");
		}

		public void HideKeywordHelp()
		{
			method_8("HideKeywordHelp");
		}

		public void HideTooltipPanels()
		{
			method_8("HideTooltipPanels");
		}

		public Card GetCard()
		{
			return method_14<Card>("GetCard", Array.Empty<object>());
		}

		public Vector3 GetPositionOfTopPanel()
		{
			return method_11<Vector3>("GetPositionOfTopPanel", Array.Empty<object>());
		}

		public TooltipPanel CreateKeywordPanel(int i)
		{
			return method_14<TooltipPanel>("CreateKeywordPanel", new object[1] { i });
		}

		public void DestroyKeywordPanel(TooltipPanel panel)
		{
			method_8("DestroyKeywordPanel", panel);
		}

		public void OnSceneUnloaded(SceneMgr.Mode prevMode, PegasusScene prevScene, object userData)
		{
			method_8("OnSceneUnloaded", prevMode, prevScene, userData);
		}
	}
}
